const merge = require('webpack-merge')
const webpack = require("webpack");

console.log("cur environment is:" + process.env.NODE_ENV)
const isDev = process.env.NODE_ENV == 'development';
// server gateway http://blog.realzhaolt.cn
// local gateway http://localhost:8000/
const GATEWAY_URL = isDev ? 'http://localhost:8000/' : 'http://blog.realzhaolt.cn/';
console.log("Gateway is " + GATEWAY_URL);
// 代理的配置只在本地开发时有效 发布至生产环境之后还需配置nginx代理 /api 路径
module.exports = {
  publicPath: '/', //基本路径
  outputDir: 'blog-page', //打包的包文件名
  assetsDir: 'static', //css、js、img静态资源存放文件夹
  lintOnSave: false, //是否在保存的时候使用 `eslint-loader` 进行检查。默认true
  runtimeCompiler: false, //是否使用包含运行时编译器的 Vue 构建版本。默认false
  productionSourceMap: false, //生产环境不需要 source map,加速生产环境构建。默认true
  devServer: { //webpack-dev-server配置
    host: "localhost", //表示启动的时候使用的域名，默认可以不写，则是使用localhost和本机IP
    port: '6080', // 设置端口号
    https: false, //是否使用https协议
    proxy: {
      // 代理带api前缀的请求到api网关
      '/api': {
        target: GATEWAY_URL, //将请求代理至此地址 填API网关的地址
        ws: true, //代理websockets
        changeOrigin: true, // 是否跨域，虚拟的站点需要更换origin
        pathRewrite: {
          //重写路径
          '^/api': '/',
        }
      }
    }
  },
  chainWebpack: config => {
    // 使用 file-loader 处理 cur 文件
    config.module.rule('cur').test(/\.cur$/).use('file-loader').loader('file-loader')
      .tap(options => {
        // 修改 file-loader 插件配置
        return merge(options, {
          name: 'img/mouse/[name].[hash:8].[ext]'
        });
      }).end()
  },

  configureWebpack: {
    plugins: [
      new webpack.ProvidePlugin({
        $: "jquery",
        jQuery: "jquery",
        "windows.jQuery": "jquery"
      })
    ]
  }
}